home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 3 / Amiga Tools 3.iso / grafik / raytracing / rayshade-4.0.6.3 / rayfiles / alphabet.def.ray next >
Text File  |  1994-08-09  |  8KB  |  590 lines

  1. /*
  2.  * Rayshade 4.0.2 alphabet using CSG objects.
  3.  * Author: Dave Schmitt (daves@csg.gss.mot.com)
  4.  *
  5.  * %A%
  6.  */
  7.  
  8. #define width_A 6
  9.  
  10. name letter_A
  11. union
  12.   union
  13.     box 0 0 0 2 10 1
  14.       transform
  15.     1 0 0
  16.     0.2 1 0
  17.     0 0 1
  18.     box 4 0 0 6 10 1
  19.       transform
  20.     1 0 0
  21.     -0.2 1 0
  22.     0 0 1
  23.   end
  24.   box 1 1 0 5 3 1
  25. end
  26.  
  27. #define width_B 6
  28.  
  29. name letter_B
  30. difference
  31.   difference
  32.     union
  33.       list
  34.     disc 3 3 7 0 0 0 -1
  35.     disc 3 3 7 1 0 0 1
  36.     cylinder 3 3 7 0 3 7 1
  37.     disc 3 3 3 0 0 0 -1
  38.     disc 3 3 3 1 0 0 1
  39.     cylinder 3 3 3 0 3 3 1
  40.       end
  41.       box 0 0 0 3 10 1
  42.     end
  43.     union
  44.       list
  45.     disc 1 3 7 -1 0 0 -1
  46.     disc 1 3 7 2 0 0 1
  47.     cylinder 1 3 7 -1 3 7 2
  48.       end
  49.       box 2 6 -1 3 8 2
  50.     end
  51.   end
  52.   union
  53.       list
  54.     disc 1 3 3 -1 0 0 -1
  55.     disc 1 3 3 2 0 0 1
  56.     cylinder 1 3 3 -1 3 3 2
  57.       end
  58.       box 2 2 -1 3 4 2
  59.   end
  60. end
  61.  
  62. #define width_C 6
  63.  
  64. name letter_C
  65. difference
  66.   union
  67.     list
  68.       disc 3 3 7 0 0 0 -1
  69.       disc 3 3 7 1 0 0 1
  70.       cylinder 3 3 7 0 3 7 1
  71.       disc 3 3 3 0 0 0 -1
  72.       disc 3 3 3 1 0 0 1
  73.       cylinder 3 3 3 0 3 3 1
  74.     end
  75.     box 0 3 0 2 7 1
  76.   end
  77.   union
  78.     list
  79.       disc 1 3 7 -1 0 0 -1
  80.       disc 1 3 7 2 0 0 1
  81.       cylinder 1 3 7 -1 3 7 2
  82.       disc 1 3 3 -1 0 0 -1
  83.       disc 1 3 3 2 0 0 1
  84.       cylinder 1 3 3 -1 3 3 2
  85.     end
  86.     box 2 3 -1 6 7 2
  87.   end
  88. end
  89.  
  90. #define width_D 6
  91.  
  92. name letter_D
  93. difference
  94.   union
  95.     list
  96.       disc 3 3 7 0 0 0 -1
  97.       disc 3 3 7 1 0 0 1
  98.       cylinder 3 3 7 0 3 7 1
  99.       disc 3 3 3 0 0 0 -1
  100.       disc 3 3 3 1 0 0 1
  101.       cylinder 3 3 3 0 3 3 1
  102.     end
  103.     union
  104.       box 0 0 0 3 10 1
  105.       box 3 3 0 6 7 1
  106.     end
  107.   end
  108.   union
  109.     union
  110.       list
  111.     disc 1 3 7 -1 0 0 -1
  112.     disc 1 3 7 2 0 0 1
  113.     cylinder 1 3 7 -1 3 7 2
  114.     disc 1 3 3 -1 0 0 -1
  115.     disc 1 3 3 2 0 0 1
  116.     cylinder 1 3 3 -1 3 3 2
  117.       end
  118.       box 2 2 -1 3 8 2
  119.     end
  120.     box 2 3 -1 4 7 2
  121.   end
  122. end
  123.  
  124. #define width_E 6
  125.  
  126. name letter_E
  127. union
  128.   union
  129.     union
  130.       box 0 0 0 2 10 1
  131.       box 2 4 0 4 6 1
  132.     end
  133.     box 2 8 0 6 10 1
  134.   end
  135.   box 2 0 0 6 2 1
  136. end
  137.  
  138. #define width_F 6
  139.  
  140. name letter_F
  141. union
  142.   union
  143.     box 0 0 0 2 10 1
  144.     box 2 4 0 4 6 1
  145.   end
  146.   box 2 8 0 6 10 1
  147. end
  148.  
  149. #define width_G 6
  150.  
  151. name letter_G
  152. union
  153.   difference
  154.     union
  155.       list
  156.     disc 3 3 7 0 0 0 -1
  157.     disc 3 3 7 1 0 0 1
  158.     cylinder 3 3 7 0 3 7 1
  159.     disc 3 3 3 0 0 0 -1
  160.     disc 3 3 3 1 0 0 1
  161.     cylinder 3 3 3 0 3 3 1
  162.       end
  163.       box 0 3 0 2 7 1
  164.     end
  165.     union
  166.       list
  167.     disc 1 3 7 -1 0 0 -1
  168.     disc 1 3 7 2 0 0 1
  169.     cylinder 1 3 7 -1 3 7 2
  170.     disc 1 3 3 -1 0 0 -1
  171.     disc 1 3 3 2 0 0 1
  172.     cylinder 1 3 3 -1 3 3 2
  173.       end
  174.       box 2 3 -1 6 7 2
  175.     end
  176.   end
  177.   box 3 3 0 6 4 1
  178. end
  179.  
  180. #define width_H 6
  181.  
  182. name letter_H
  183. union
  184.   union
  185.     box 0 0 0 2 10 1
  186.     box 2 4 0 4 6 1
  187.   end
  188.   box 4 0 0 6 10 1
  189. end
  190.  
  191. #define width_I 2
  192.  
  193. name letter_I
  194. box 0 0 0 2 10 1
  195.  
  196. #define width_J 6
  197.  
  198. name letter_J
  199. difference
  200.   union
  201.     list
  202.       disc 3 3 3 0 0 0 -1
  203.       disc 3 3 3 1 0 0 1
  204.       cylinder 3 3 3 0 3 3 1
  205.     end
  206.     box 4 3 0 6 10 1
  207.   end
  208.   union
  209.     list
  210.       disc 1 3 3 -1 0 0 -1
  211.       disc 1 3 3 2 0 0 1
  212.       cylinder 1 3 3 -1 3 3 2
  213.     end
  214.     box 0 3 -1 4 7 2
  215.   end
  216. end
  217.  
  218. #define width_K 6
  219.  
  220. name letter_K
  221. union
  222.   union
  223.     box 0 0 0 2 6 1
  224.       transform 1 0 0 -0.5 1 0 0 0 1
  225.       translate 4 0 0
  226.     box 0 0 0 2 6 1
  227.       transform 1 0 0 0.5 1 0 0 0 1
  228.       translate 1 4 0
  229.   end
  230.   box 0 0 0 2 10 1
  231. end
  232.  
  233. #define width_L 6
  234.  
  235. name letter_L
  236. union
  237.   box 0 0 0 2 10 1
  238.   box 2 0 0 6 2 1
  239. end
  240.  
  241. #define width_M 8
  242.  
  243. name letter_M
  244. union
  245.   union
  246.     box 0 0 0 2 10 1
  247.     box 0 0 0 2 4 1
  248.       transform
  249.     1 -2 0
  250.     0 1 0
  251.     0 0 1
  252.       translate
  253.     2 6 0
  254.   end
  255.   union
  256.     box 6 0 0 8 10 1
  257.     box 0 0 0 2 4 1
  258.       transform
  259.     1 2 0
  260.     0 1 0
  261.     0 0 1
  262.       translate
  263.     4 2 0
  264.   end
  265. end
  266.  
  267. #define width_N 6
  268.  
  269. name letter_N
  270. union
  271.   union
  272.     box 0 0 0 2 10 1
  273.     box 4 0 0 6 10 1
  274.       transform
  275.     1 0 0
  276.     -0.4 1 0
  277.     0 0 1
  278.   end
  279.   box 4 0 0 6 10 1
  280. end
  281.  
  282. #define width_0 6
  283.  
  284. name letter_O
  285. difference
  286.   union
  287.     list
  288.       disc 3 3 7 0 0 0 -1
  289.       disc 3 3 7 1 0 0 1
  290.       cylinder 3 3 7 0 3 7 1
  291.       disc 3 3 3 0 0 0 -1
  292.       disc 3 3 3 1 0 0 1
  293.       cylinder 3 3 3 0 3 3 1
  294.     end
  295.     box 0 3 0 6 7 1
  296.   end
  297.   union
  298.     list
  299.       disc 1 3 7 -1 0 0 -1
  300.       disc 1 3 7 2 0 0 1
  301.       cylinder 1 3 7 -1 3 7 2
  302.       disc 1 3 3 -1 0 0 -1
  303.       disc 1 3 3 2 0 0 1
  304.       cylinder 1 3 3 -1 3 3 2
  305.     end
  306.     box 2 3 -1 4 7 2
  307.   end
  308. end
  309.  
  310. #define width_P 6
  311.  
  312. name letter_P
  313. difference
  314.   union
  315.     union
  316.       list
  317.     disc 3 3 7 0 0 0 -1
  318.     disc 3 3 7 1 0 0 1
  319.     cylinder 3 3 7 0 3 7 1
  320.       end
  321.       box 0 4 0 3 10 1
  322.     end
  323.     box 0 0 0 2 4 1
  324.   end
  325.   union
  326.     list
  327.       disc 1 3 7 -1 0 0 -1
  328.       disc 1 3 7 2 0 0 1
  329.       cylinder 1 3 7 -1 3 7 2
  330.     end
  331.     box 2 6 -1 3 8 2
  332.   end
  333. end
  334.  
  335. #define width_Q 6
  336.  
  337. name letter_Q
  338. union
  339.   difference
  340.     union
  341.       list
  342.     disc 3 3 7 0 0 0 -1
  343.     disc 3 3 7 1 0 0 1
  344.     cylinder 3 3 7 0 3 7 1
  345.     disc 3 3 3 0 0 0 -1
  346.     disc 3 3 3 1 0 0 1
  347.     cylinder 3 3 3 0 3 3 1
  348.       end
  349.       box 0 3 0 6 7 1
  350.     end
  351.     union
  352.       list
  353.     disc 1 3 7 -1 0 0 -1
  354.     disc 1 3 7 2 0 0 1
  355.     cylinder 1 3 7 -1 3 7 2
  356.     disc 1 3 3 -1 0 0 -1
  357.     disc 1 3 3 2 0 0 1
  358.     cylinder 1 3 3 -1 3 3 2
  359.       end
  360.       box 2 3 -1 4 7 2
  361.     end
  362.   end
  363.   box 5 0 0 6 3 1
  364.     transform
  365.       1 0 0
  366.       (-5 / 6) 1 0
  367.       0 0 1
  368. end
  369.  
  370. #define width_R 6
  371.  
  372. name letter_R
  373. union
  374.   difference
  375.     difference
  376.       union
  377.     list
  378.       disc 3 3 7 0 0 0 -1
  379.       disc 3 3 7 1 0 0 1
  380.       cylinder 3 3 7 0 3 7 1
  381.       disc 3 3 3 0 0 0 -1
  382.       disc 3 3 3 1 0 0 1
  383.       cylinder 3 3 3 0 3 3 1
  384.     end
  385.     box 0 0 0 3 10 1
  386.       end
  387.       union
  388.     list
  389.       disc 1 3 7 -1 0 0 -1
  390.       disc 1 3 7 2 0 0 1
  391.       cylinder 1 3 7 -1 3 7 2
  392.     end
  393.     box 2 6 -1 3 8 2
  394.       end
  395.     end
  396.     union
  397.       union
  398.     list
  399.       disc 1 3 3 -1 0 0 -1
  400.       disc 1 3 3 2 0 0 1
  401.       cylinder 1 3 3 -1 3 3 2
  402.     end
  403.     box 2 3 -1 3 4 2
  404.       end
  405.       box 2 0 -1 4 3 2
  406.     end
  407.   end
  408.   box 4 0 0 6 3 1
  409. end
  410.  
  411. #define width_S 6
  412.  
  413. name letter_S
  414. union
  415.   difference
  416.     difference
  417.       list
  418.     disc 3 3 7 0 0 0 -1
  419.     disc 3 3 7 1 0 0 1
  420.     cylinder 3 3 7 0 3 7 1
  421.       end
  422.       list
  423.     disc 1 3 7 -1 0 0 -1
  424.     disc 1 3 7 2 0 0 1
  425.     cylinder 1 3 7 -1 3 7 2
  426.       end
  427.     end
  428.     box 3 3 -1 6 7 2
  429.   end
  430.   difference
  431.     difference
  432.       list
  433.     disc 3 3 3 0 0 0 -1
  434.     disc 3 3 3 1 0 0 1
  435.     cylinder 3 3 3 0 3 3 1
  436.       end
  437.       list
  438.     disc 1 3 3 -1 0 0 -1
  439.     disc 1 3 3 2 0 0 1
  440.     cylinder 1 3 3 -1 3 3 2
  441.       end
  442.     end
  443.     box 0 3 -1 3 7 2
  444.   end
  445. end
  446.  
  447. #define width_T 6
  448.  
  449. name letter_T
  450. union
  451.   box 2 0 0 4 8 1
  452.   box 0 8 0 6 10 1
  453. end
  454.  
  455. #define width_U 6
  456.  
  457. name letter_U
  458. difference
  459.   union
  460.     union
  461.       list
  462.     disc 3 3 3 0 0 0 -1
  463.     disc 3 3 3 1 0 0 1
  464.     cylinder 3 3 3 0 3 3 1
  465.       end
  466.       box 4 3 0 6 10 1
  467.     end
  468.     box 0 3 0 2 10 1
  469.   end
  470.   union
  471.     list
  472.       disc 1 3 3 -1 0 0 -1
  473.       disc 1 3 3 2 0 0 1
  474.       cylinder 1 3 3 -1 3 3 2
  475.     end
  476.     box 2 3 -1 4 7 2
  477.   end
  478. end
  479.  
  480. #define width_V 6
  481.  
  482. name letter_V
  483. union
  484.   box 2 0 0 4 10 1
  485.     transform
  486.       1 0 0
  487.       -0.2 1 0
  488.       0 0 1
  489.   box 2 0 0 4 10 1
  490.     transform
  491.       1 0 0
  492.       0.2 1 0
  493.       0 0 1
  494. end
  495.  
  496. #define width_W 10
  497.  
  498. name letter_W
  499. union
  500.   union
  501.     box 0 0 0 2 10 1
  502.       transform
  503.     1 0 0
  504.     -0.2 1 0
  505.     0 0 1
  506.       translate
  507.     2 0 0
  508.     box 0 0 0 2 10 1
  509.       transform
  510.     1 0 0
  511.     0.2 1 0
  512.     0 0 1
  513.       translate
  514.     2 0 0
  515.   end
  516.   union
  517.     box 0 0 0 2 10 1
  518.       transform
  519.     1 0 0
  520.     -0.2 1 0
  521.     0 0 1
  522.       translate
  523.     6 0 0
  524.     box 0 0 0 2 10 1
  525.       transform
  526.     1 0 0
  527.     0.2 1 0
  528.     0 0 1
  529.       translate
  530.     6 0 0
  531.   end
  532. end
  533.  
  534. #define width_X 6
  535.  
  536. name letter_X
  537. union
  538.   box 0 0 0 2 10 1
  539.     transform
  540.       1 0 0
  541.       0.4 1 0
  542.       0 0 1
  543.   box 4 0 0 6 10 1
  544.     transform
  545.       1 0 0
  546.       -0.4 1 0
  547.       0 0 1
  548. end
  549.  
  550. #define width_Y 6
  551.  
  552. name letter_Y
  553. union
  554.   union
  555.     box 0 0 0 2 6 1
  556.       transform
  557.     1 0 0
  558.     (1/3) 1 0
  559.     0 0 1
  560.       translate
  561.     2 4 0
  562.     box 0 0 0 2 6 1
  563.       transform
  564.     1 0 0
  565.     (-1/3) 1 0
  566.     0 0 1
  567.       translate
  568.     2 4 0
  569.   end
  570.   box 2 0 0 4 4 1
  571. end
  572.  
  573. #define width_Z 6
  574.  
  575. name letter_Z
  576.  
  577. union
  578.   union
  579.     box 0 0 0 6 2 1
  580.     box 0 0 0 2 6 1
  581.       transform
  582.     1 0 0
  583.     (2/3) 1 0
  584.     0 0 1
  585.       translate
  586.     0 2 0
  587.   end
  588.   box 0 8 0 6 10 1
  589. end
  590.